package cn.wjh.business.service;

import java.util.List;

import cn.wjh.business.domain.Collect;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.SysUser;

/**
 * 收藏Service接口
 *
 * @author jiraWu
 * @date 2023-10-21
 */
public interface ICollectService extends IService<Collect> {
	/**
	 * 查询收藏
	 *
	 * @param collectId 收藏主键
	 * @return 收藏
	 */
	public Collect selectCollectByCollectId(Long collectId);

	/**
	 * 查询收藏列表
	 *
	 * @param collect 收藏
	 * @return 收藏集合
	 */
	public List<Collect> selectCollectList(Collect collect);

	/**
	 * 新增收藏
	 *
	 * @param collect 收藏
	 * @return 结果
	 */
	public int insertCollect(Collect collect);

	/**
	 * 修改收藏
	 *
	 * @param collect 收藏
	 * @return 结果
	 */
	public int updateCollect(Collect collect);

	/**
	 * 批量删除收藏
	 *
	 * @param collectIds 需要删除的收藏主键集合
	 * @return 结果
	 */
	public int deleteCollectByCollectIds(Long[] collectIds);

	/**
	 * 删除收藏信息
	 *
	 * @param collectId 收藏主键
	 * @return 结果
	 */
	public int deleteCollectByCollectId(Long collectId);

	/**获取收藏状态*/
	boolean isCollect(Long dataId, String type);

	/**获取收藏数量*/
	Long countByDataIdAndType(Long dataId, String type);

	/**
	 * 获取当前用户的作品被收藏的数量
	 */
	Long countByCurrentUser(SysUser user);
}
